package pl.gettoknowme.mobile.android.model.dao;

import pl.gettoknowme.mobile.android.model.dbtypes.UserSettings;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

/**
 * Obiekt DAO dla tabeli 'user_settings'
 * @author Michał Kołodziejski
 */
public class UserSettingsDAO {

    private static final String TABLE_NAME = "user_settings";
    private static final String[] COLUMNS = {
        "user_id"
    };
    
    /**
     * Uchwyt do bazy danych
     */
    private SQLiteDatabase db;
    
    /**
     * Tworzy obiekt DAO dla tabeli 'user_settings'
     * @param db uchwyt do bazy danych
     */
    public UserSettingsDAO(SQLiteDatabase db) {
        this.db = db;
    }
    
    /**
     * Zwraca ustawienia użytkownika
     * @return ustawienia użytkownika
     */
    public UserSettings getUserSettings(){
        Cursor cursor = db.query(TABLE_NAME, COLUMNS, null, null, null, null, null);
        
        if(!cursor.moveToNext()){
            return null;
        }
        
        UserSettings result = readUserSettingsFromCursor(cursor);
        cursor.close();
        return result;
    }
    
    /**
     * Odczytuje pojedyncze ustawienia użytkownia z bieżącej pozycji kursora
     * @param cursor kursor
     * @return ustawienia użytkownika
     */
    private UserSettings readUserSettingsFromCursor(Cursor cursor){
        UserSettings userSettings = new UserSettings();
        userSettings.setUserId(cursor.getString(0));
        return userSettings;
    }
}
